// 导入管理员模型
const AdminModel = require('./AdminModel')

// 导入房源模型
const PropertyModel = require('./PropertyModel')

// 导入用户预约模型
const OrderModel = require('./OrderModel')

// 导入用户模型
const UserModel = require('./UserModel')

// 导入图片模型
const ImagesModel = require('./ImagesModel')

// 导入用户评价模型
const EvaluateModel = require('./EvaluateModel')

// 建立管理员表与房源表的一对多关联
AdminModel.hasMany(PropertyModel, { foreignKey: 'admin_id', as: 'property' })
PropertyModel.belongsTo(AdminModel, { foreignKey: 'admin_id', as: 'admin' })

// 建立房源表和用户预约表的一对多关联
PropertyModel.hasMany(OrderModel, { foreignKey: 'property_id', as: 'order' })
OrderModel.belongsTo(PropertyModel, { foreignKey: 'property_id', as: 'property' })

// 建立用户表和预约表的一对多关联
UserModel.hasMany(OrderModel, { foreignKey: 'user_id', as: 'order' })
OrderModel.belongsTo(UserModel, { foreignKey: 'user_id', as: 'user' })

// 建立用户表与用户评价表的一对多关联
UserModel.hasMany(EvaluateModel, { foreignKey: 'user_id', as: 'evaluate' })
EvaluateModel.belongsTo(UserModel, { foreignKey: 'user_id', as: 'user' })

// 建立房源表与用户评价表的一对多关联
PropertyModel.hasMany(EvaluateModel, { foreignKey: 'property_id', as: 'evaluate' })
EvaluateModel.belongsTo(PropertyModel, { foreignKey: 'property_id', as: 'property' })

module.exports = {
  AdminModel,
  PropertyModel,
  UserModel,
  OrderModel,
  ImagesModel,
  EvaluateModel
}